<?php

namespace App\Http\Requests;

use Carbon\Carbon;
use Illuminate\Foundation\Http\FormRequest;

class UpdateUserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'nickname' => 'unique:user',
            'head' => 'url',
            'sex' => 'integer|between:0,2',
            'birthday' => 'date',
            'signature' => 'min:3'
        ];
    }

    public function update($user){

        $data = $this->only([
            'nickname',
            'head',
            'sex',
            'signature'
        ]);


        $user->update($data);

        if ($this->has('birthday')){
            $user->birthday = Carbon::parse($this->birthday)->timestamp;
            $user->save();
        }

        return $user;

    }
}
